package demo3LinkList.MyNodeAndMyList;

//线性表接口（顺序表）
public interface List<T> {
    //获得线性表长度
    public int size();
    //判断线性表是否为空
    public boolean isEmpty();
    //头部插入元素
    public void addHead(T value);
    //尾部插入元素
    public void addTail(T value);
    //获取指定位置的元素
    public T getValue(int index);
    //头部删除
    public void removeHead();
    //尾部删除
    public void removeTail();
    //删除下标位置的元素
    void removeIndex(int x);
    //删除元素value
    boolean removeValue(T value);
    //修改元素src为aim
    boolean changeValue(T src, T aim);
    //查找元素位置
    int searchValue(T value);
    //判断是否包含value值
    boolean contain(T value);
    //展示链表内容
    public void show();

    //获取值为value的节点
    public Node<T> getNode(T value);
}
